文档

任务管理

更新时间:
一键部署

使用函数计算异步调用时,如果您想追踪并保存异步调用各个阶段的状态,实现更丰富的任务控制和可观测能力,可以选择开启任务模式处理异步请求。本文介绍异步任务的状态以及如何在函数计算控制台管理异步任务,包括创建、启动、停止和查看异步任务。

通过控制台管理任务

前提条件

已创建函数,具体操作,请参见创建函数

创建任务

  1. 登录函数计算控制台,在左侧导航栏,单击函数

  2. 在顶部菜单栏,选择地域,然后在函数页面,单击目标函数。

  3. 在函数详情页面,选择配置页签,然后在左侧选择异步配置

  4. 在异步配置页面的异步配置区域,单击编辑,然后在异步配置面板,任务模式选择开启后单击部署

启动或停止任务

  1. 登录函数计算控制台,在左侧导航栏,单击函数

  2. 在顶部菜单栏,选择地域,然后在函数页面,单击目标函数。

  3. 在函数详情页面,选择任务页签,单击提交任务,在弹出的对话框,选择任务ID生成方式和任务执行时间,然后单击确定

    您也可以单击提交任务右侧的down图标,从下拉列表中选择配置测试参数,事件函数将以event的形式,HTTP函数将以HTTP参数的形式输入参数传递给函数,模拟提交任务。

    您可以在下方任务列表查看任务状态、任务详情以及请求ID、实例ID或者登录实例等。

    image

调用API(SDK)管理任务

配置任务模式

调用PutAsyncInvokeConfig - 设置函数异步配置接口,配置异步调用模式为任务模式。将asyncTask配置为如下内容,完成该配置后,该函数的所有异步调用将变为任务模式。

{
  "asyncTask": true
}
说明

您配置异步调用模式为任务模式后,仍然可以使用同步方式调用函数,但异步任务模式只针对异步调用生效。

通过异步调用触发函数

您可以通过调用InvokeFunction - 调用函数接口,x-fc-invocation-type参数选择Async,触发一次异步调用来启动任务模式。您可以在调用时添加HTTP请求头x-fc-async-task-id来为本次调用设置任务ID,更多信息,请参见任务防重复提交

查看任务

您提交任务后,如需查询某次执行的状态或执行记录等信息,您可以调用GetAsyncTask - 获取异步任务接口进行查询。

如果您需要根据关键字或条件查询符合条件的任务执行列表,您可以调用ListAsyncTasks - 获取异步任务列表接口来实现。

停止任务

您提交任务后,可根据需要停止任务。您可以调用StopAsyncTask - 停止异步任务接口执行停止任务操作。停止任务时需要提供TaskID,此ID为您提交任务时设置的TaskID,也可以是调用ListAsyncTasks - 获取异步任务列表接口查询运行中任务时,获取的ID。

异步任务的状态

针对每一次任务调用,函数计算均会记录任务的状态变更过程,并提供实时的状态查询能力。您可以通过SDK或函数计算控制台查看任务的具体状态。目前任务有如下几种状态:

执行状态

说明

已入队

异步消息已入队,等待处理。

已处理

异步消息已出队,等待触发。

执行中

调用执行中,您的实例已经开始运行任务代码。

执行成功

调用执行成功。

执行失败

调用执行失败。

已停止

您已手动停止该次任务调用。任务已成功终止。

停止中

您手动停止了该次任务,任务尝试停止中。

已过期

您给异步消息配置了存活有效期,该消息因过期已被丢弃(未触发)。

无效

您的执行因函数或服务被删除等原因处于无效状态(未触发)。

重试中

异步调用因执行错误重试中。当系统准备好重试后,您的任务将会再次变为Running状态。

您可以调用GetAsyncTask - 获取异步任务接口获取某次任务执行的详细信息,也可以调用ListAsyncTasks - 获取异步任务列表接口过滤指定状态的任务。

  • 本页导读
文档反馈